package Model;

import View.EdgeView;
/**
 * Описание ребра графа
 *
 * @author pol
 */
public class Edge {

    /**
     * Пустой контсруктор
     */
    public Edge() {
    }

    /**
     * Конструктор. Устанавливает вершины источник и приемник
     * @param s - источник
     * @param d - приемник
     */
    public Edge(Vertex s, Vertex d) {
        source = s;
        target = d;
    }

    /**
     * Получает источник - первая инцидентная вершина
     */
    public Vertex getSource() {
        return source;
    }

    /**
     * Устанавливает источник - первая инцидентная вершина
     */
    public void setSource(Vertex value) {
        source = value;
    }

    /**
     * Получает приемник - вторая инцидентная вершина
     */
    public Vertex getTarget() {
        return target;
    }

    /**
     * Устанавливает приемник - вторая инцидентная вершина
     */
    public void setTarget(Vertex value) {
        target = value;
    }
    
    /**
     * Установливает представление для ребра
     * @param ev 
     */
    public void setView(EdgeView ev) {
        edgeView = ev;
    }
    
    /**
     * Получает представление для ребра
     * @return 
     */
    public EdgeView getView() {
        return edgeView;
    }
    
    private EdgeView edgeView;
    private Vertex source;
    private Vertex target;
}
